package com.zlc.common.common.constant;

import com.zlc.common.annotation.DicItem;
import com.zlc.common.annotation.DicType;
import com.zlc.common.annotation.SyncDicConstant;

@SyncDicConstant
public class SystemDicConstant {

    /**
     * 数据权限类型
     * 全部权限
     * 所属部门权限
     * 仅个人权限
     * 自定义部门权限
     */
    @DicType(value = "DATA_ROLE_TYPE", desc = "数据权限类型")
    public static final String DATA_ROLE_TYPE = "DATA_ROLE_TYPE";
    @DicItem(typeCode = DATA_ROLE_TYPE, value = "ALL", order = 1, desc = "全部权限")
    public static final String DATA_ROLE_TYPE_ALL = "ALL";
    @DicItem(typeCode = DATA_ROLE_TYPE, value = "DEPT", order = 2, desc = "所属部门权限")
    public static final String DATA_ROLE_TYPE_DEPART = "DEPT";
    @DicItem(typeCode = DATA_ROLE_TYPE, value = "SELF", order = 3, desc = "仅个人权限")
    public static final String DATA_ROLE_TYPE_SELF = "SELF";
    @DicItem(typeCode = DATA_ROLE_TYPE, value = "CUSTOM", order = 4, desc = "自定义部门权限")
    public static final String DATA_ROLE_TYPE_CUSTOM = "CUSTOM";


    /**
     * 流程状态
     * 草稿  进行中 已结束 已终止
     * DRAFT  PROCESSING FINISH  TERMINATION
     */
    @DicType(value = "WORKFLOW_STATUS", desc = "流程状态")
    public static final String WORKFLOW_STATUS = "WORKFLOW_STATUS";
    @DicItem(typeCode = WORKFLOW_STATUS, value = "DRAFT", order = 1, desc = "草稿")
    public static final String WORKFLOW_STATUS_DRAFT = "DRAFT";
    @DicItem(typeCode = WORKFLOW_STATUS, value = "PROCESSING", order = 2, desc = "进行中")
    public static final String WORKFLOW_STATUS_PROCESSING = "PROCESSING";
    @DicItem(typeCode = WORKFLOW_STATUS, value = "FINISH", order = 3, desc = "结束")
    public static final String WORKFLOW_STATUS_FINISH = "FINISH";
    @DicItem(typeCode = WORKFLOW_STATUS, value = "TERMINATION", order = 4, desc = "终止")
    public static final String WORKFLOW_STATUS_TERMINATION = "TERMINATION";

    /**
     * 流程模型状态
     * 草稿  发布  废弃
     * DRAFT  PUBLISH  DEPRECATED
     */
    @DicType(value = "PROCESS_STATUS", desc = "流程模型状态")
    public static final String PROCESS_STATUS = "PROCESS_STATUS";
    @DicItem(typeCode = PROCESS_STATUS, value = "DRAFT", order = 1, desc = "草稿")
    public static final String PROCESS_STATUS_DRAFT = "DRAFT";
    @DicItem(typeCode = PROCESS_STATUS, value = "PUBLISH", order = 2, desc = "发布")
    public static final String PROCESS_STATUS_PUBLISH = "PUBLISH";
    @DicItem(typeCode = PROCESS_STATUS, value = "DEPRECATED", order = 3, desc = "废弃")
    public static final String PROCESS_STATUS_DEPRECATED = "DEPRECATED";

    /**
     * 代理用户状态
     * ACTIVE CLOSE
     * 生效  关闭
     */
    @DicType(value = "PROXY_STATUS", desc = "代理用户状态")
    public static final String PROXY_STATUS = "PROXY_STATUS";
    @DicItem(typeCode = PROXY_STATUS, value = "ACTIVE", order = 1, desc = "生效")
    public static final String PROXY_STATUS_ACTIVE = "ACTIVE";
    @DicItem(typeCode = PROXY_STATUS, value = "CLOSE", order = 2, desc = "关闭")
    public static final String PROXY_STATUS_CLOSE = "CLOSE";
}
